1. Field of the Invention
The present invention relates to a heterogeneous packet dispatch method and device
2. Description of the Prior Art
In recent years, the network system has become popular with more and more connection capability. Most electronic appliances are equipped with network connectivity. People desire to have their electronic appliances connected through the network system at home or in the car. Therefore, it is important to efficiently interconnect various electronic appliances.
New network-accessible devices are produced every day with problems of how to communicate these devices. There are different techniques and standards for interconnecting these devices such as wireless networks and wired networks. Wired networks include Ethernet networks, power line communication (PLC) networks and asymmetrical digital subscriber line (ADSL) networks. Wireless networks include 802.11a/b/g-based networks and WiMax networks. All the above-mentioned are IP-based networks and it is not problematic to communicate these IP-based networks.
However, the current portable devices employ universal serial bus (USB) and IEEE-1394 protocols; the car-use devices communicate through controller area network (CAN), local interconnect network (LIN) and media oriented systems transport (MOST) networks; and the home-use devices use X-10 or zigbee controller networks. All the above-mentioned are non-IP-based networks.
Accordingly, the present invention discloses a method and a device for dispatching packets with different network protocols and supporting IP-based networks, Non-IP-based networks, controller networks and multimedia networks. With the method and the device of the present invention, the network user can easily add new network services to the existing network structure. Meanwhile, dispatch of network packets is more efficient.
As mentioned, in a conventional network environment, the home-use network is based on Ethernet networks or wireless 802.11a/b/g-based networks. However, the remote controllers of household appliances use X-10 or zigbee controller networks and most portable devices such as mp3 players, digital cameras and digital video cameras use USB or IEEE-1394 protocols. Presently, the above-mentioned networks operate independently without communicating each other. The general gateway supports IP-based networks only and integrates the USB and IEEE-1394 protocols in the applications of the gateway. For car-use networks, CAN and LIN are used as applications of controller networks. Car-use multi-media networks use MOST and IDB-1394 protocols. These protocols are not compatible and, thus the users have to make efforts to find solutions according to practical requirement. Moreover, it is crucial to efficiently dispatch and manage network packets when devices are based on heterogeneous networks interconnect. Therefore, the present invention provides a mechanism for interconnecting these networks and efficiently controlling the dispatch of the dispatch of network packets so as to provide the users with user-friendly solutions.
Conventional network connection devices include at least a router, a bridge and a gateway. The conventional router is hardware and software for interconnecting different networks on the network layer. Therefore, the router comprises a plurality of transmission paths, each path having respective transmission speed and transmission time. The router receives a packet transmitted on the network, checks the destination address code in the information in the packet, and transmits the packet to a destination according to a best transmission path determined based on the size and priority of the packet. If the destination address code is unavailable or the transmission path is not determined, the packet will be abandoned by the router and an error message will be issued. In some cases, the number of transmission nodes for a packet is recorded and accumulated until the number reaches a limit. Then, the packet will be abandoned by the router and an error message will be issued. The conventional router only interconnects two different networks.
The conventional bridge interconnects two network devices with the same protocol and thus is a “bridge” between the two networks so as to determine whether the data frame is transmitted from one network to the other by way of the bridge. After the bridge receives a frame transmitted afar from the other end, the bridge compares the destination address of the frame with a look-up table in the bridge so as to determine whether the packet is transmitted from the same network if the destination address fits in with the look-up table. If the receiving end receives data on the same network, no bridge is required; otherwise, the bridge transmits the frame to the network where the destination device is on. The conventional bridge only provides interconnection between two network devices with the same protocol.
The conventional gateway typically includes hardware and software. It interconnects two networks with different protocols. Some gateways, such as application gateways, interpret the protocols in addition to transmitting data from one network to the other, while some gateways only transmit data and do not interpret the protocols. In other words, gateways can be either intelligent and able to identify and interpret the protocols or simply gateways for transmitting data to a destination address already known.
The conventional gateway includes telecommunication gateways and home gateways. A telecommunication gateway is generally installed in the control room of a telecommunication company so as to convert signals and phone calls and is not publicly seen. The local phone call is based on the public switched telephone network (PSTN), the cell phone call is based on the global system for mobile communication (GSM)/general packet radio service (GPRS), and Skype is based on voice-over-IP (VoIP) network. There are different gateways for various interconnections between the networks. The home gateway is a pass for communicating a household and an external network, a firewall, and a router for interconnecting at least two computer devices inside the household. In other words, the home gateway is a bridge for domestic and foreign control and communicating the domestic peripherals. Some home gateways also provide voice transmission. A typical home gateway provides IP-based functions such as IP sharing, dynamic host configuration protocol (DHCP), network address translation (NAT), etc. The conventional gateway supports protocol transfer and routing only on IP-based networks and telecommunication circuits.
Accordingly, the present invention provides a multiplex management mechanism as well as a packet dispatch mechanism. Some prior art references disclose these two mechanisms. For multiplex management, Taiwan Patent No. 324870 “Network Switch” and Taiwan Patent No. 453069 “Packet Dispatch Method with Parallel Multiplex” are only applicable to a single network with multiple nodes. However, the present invention is applicable to heterogeneous networks and the design of buffers is different from that in the prior art references.
For packet dispatch, Taiwan Patent No. 542960 “Scheduling Method and Device of Packet Switching Network”, Taiwan Patent No. 595169 “Packet Dispatch Device, Scheduler, Data Dispatch Device and Packet Dispatch Method”, Taiwan Patent Pub. No. 200522615 “Scheduling Packet Dispatch”, Taiwan Patent Pub. No. 200536310 “Packet Scheduling for Multimedia Stream according to Priority and Buffer States”, Taiwan Patent No. 1227080 “Network Switch and Method with Traffic Control” and Taiwan Patent No. 478265 “Generating Method and Device for Traffic Control Signal” are only applicable to a single telecommunication network.
In U.S. Pat. No. 5,991,302, a transmission priority (TP) layer with priority setting is added to the packet protocols so as to classify the connection into four levels—low, normal, medium and high. In U.S. Pat. No. 6,791,979, the packets are classified using a packet filter so as to provide the packets with suitable TP values. In U.S. Pat. No. 5,666,364, a self-defined protocol is used to register the services from different networks and determine the priority.